So you have a server on your local network that you can access anywhere in the world. With a new NAT router, after port forwarding, you can still access it from the internet, but not from inside the local network. After looking around, you found out that the router does not support NAT loopback.

This happend to me recently when I switched my ISP to Telus, with their NAT router and modem also double as TV modem, it has to be my gate way NAT. Without loopback, not being able to access my local servers from the public ip address was beyond annoying. Untill something in the router configuration hit me - hack the DNS:

  1. Get a domain name for your public ip. One for each server or service you have. Use a Dynamic DNS service for fast updates and anonymity. (I use changeip.com, their free tier never bothers you with reactivation emails.)
  2. Go to DNS Host Mapping page (in the Actiontec V1000H router it's under Advanced Setup -> IP address), and put the domain name as DNS Host Name, and the local ip address of the server in IP Address. This is basically a hosts file for anyone using the router as DNS server.
  3. Test it out. To debug, clear your DNS cache, and make sure you are using DHCP auto assigned DNS settings.